package com.ct.code.tools.domain;

import java.util.ArrayList;
import java.util.List;

public class BaseInfo {

	private String basePackage;
	
	private String moduleName;
	
	private String user;
	
	private String date;
	
	private String tableName;
	
	private String tableNameRemark;
	
	private String className;
	
	private String objectName;
	
	private String mybatisNamespace;
	
	private boolean isExistDateType;
	
	private List<PropertyInfo> propertyInfos;
	
	private List<PropertyInfo> listSearchPropertyInfo = new ArrayList<PropertyInfo>();
	private List<PropertyInfo> listSelectPropertyInfo = new ArrayList<PropertyInfo>();
	
	public List<PropertyInfo> getListSearchPropertyInfo() {
		return listSearchPropertyInfo;
	}

	public void setListSearchPropertyInfo(List<PropertyInfo> listSearchPropertyInfo) {
		this.listSearchPropertyInfo = listSearchPropertyInfo;
	}

	public List<PropertyInfo> getListSelectPropertyInfo() {
		return listSelectPropertyInfo;
	}

	public void setListSelectPropertyInfo(List<PropertyInfo> listSelectPropertyInfo) {
		this.listSelectPropertyInfo = listSelectPropertyInfo;
	}


	private List<PropertyInfo> propertyInfosNoKey;
	
	private List<String> primaryKeys;
	
	public String getTableNameRemark() {
		return tableNameRemark;
	}

	public void setTableNameRemark(String tableNameRemark) {
		this.tableNameRemark = tableNameRemark;
	}

	public String getObjectName() {
		return objectName;
	}

	public void setObjectName(String objectName) {
		this.objectName = objectName;
	}

	public List<PropertyInfo> getPropertyInfosNoKey() {
		propertyInfosNoKey = new ArrayList<PropertyInfo>();
		if(propertyInfos != null){
			for(PropertyInfo pi : propertyInfos){
				if(pi.getColumnName().equalsIgnoreCase(primaryKey)){
					
				}else{
					propertyInfosNoKey.add(pi);
				}
			}
		}
		return propertyInfosNoKey;
	}

	public void setPropertyInfosNoKey(List<PropertyInfo> propertyInfosNoKey) {
		this.propertyInfosNoKey = propertyInfosNoKey;
	}


	private String primaryKey;
	
	private String primaryKeyProperty;
	
	public String getPrimaryKeyProperty() {
		return primaryKeyProperty;
	}

	public void setPrimaryKeyProperty(String primaryKeyProperty) {
		this.primaryKeyProperty = primaryKeyProperty;
	}

	public String getPrimaryKey() {
		return primaryKey;
	}

	public void setPrimaryKey(String primaryKey) {
		this.primaryKey = primaryKey;
	}


	public String getModuleName() {
		return moduleName;
	}

	public void setModuleName(String moduleName) {
		this.moduleName = moduleName;
	}


	private String replacePrefixInSqlMap;
	
	private String mapperStringInMabtis;
	
	private String typeAliasStringInMybatis;
	
	public String getMapperStringInMabtis() {
		return mapperStringInMabtis;
	}

	public void setMapperStringInMabtis(String mapperStringInMabtis) {
		this.mapperStringInMabtis = mapperStringInMabtis;
	}

	public String getTypeAliasStringInMybatis() {
		return typeAliasStringInMybatis;
	}

	public void setTypeAliasStringInMybatis(String typeAliasStringInMybatis) {
		this.typeAliasStringInMybatis = typeAliasStringInMybatis;
	}

	public String getReplacePrefixInSqlMap() {
		return replacePrefixInSqlMap;
	}

	public void setReplacePrefixInSqlMap(String replacePrefixInSqlMap) {
		this.replacePrefixInSqlMap = replacePrefixInSqlMap;
	}

	public boolean isExistDateType() {
		return isExistDateType;
	}


	public void setExistDateType(boolean isExistDateType) {
		this.isExistDateType = isExistDateType;
	}


	public String getMybatisNamespace() {
		return mybatisNamespace;
	}


	public void setMybatisNamespace(String mybatisNamespace) {
		this.mybatisNamespace = mybatisNamespace;
	}

	public List<String> getPrimaryKeys() {
		return primaryKeys;
	}


	public void setPrimaryKeys(List<String> primaryKeys) {
		this.primaryKeys = primaryKeys;
	}


	public List<PropertyInfo> getPropertyInfos() {
		return propertyInfos;
	}


	public void setPropertyInfos(List<PropertyInfo> propertyInfos) {
		this.propertyInfos = propertyInfos;
	}


	public BaseInfo() {
		super();
	}


	public String getBasePackage() {
		return basePackage;
	}


	public void setBasePackage(String basePackage) {
		this.basePackage = basePackage;
	}


	public String getUser() {
		return user;
	}


	public void setUser(String user) {
		this.user = user;
	}


	public String getDate() {
		return date;
	}


	public void setDate(String date) {
		this.date = date;
	}


	public String getTableName() {
		return tableName;
	}


	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	@Override
	public String toString() {
		return "BaseInfo [basePackage=" + basePackage + ", user=" + user + ", date=" + date + ", tableName=" + tableName
				+ ", mybatisNamespace=" + mybatisNamespace + ", isExistDateType=" + isExistDateType + ", propertyInfos="
				+ propertyInfos + ", primaryKeys=" + primaryKeys + ", primaryKey=" + primaryKey+ ", className=" + className
				+ ", replacePrefixInSqlMap=" + replacePrefixInSqlMap + ", mapperStringInMabtis=" + mapperStringInMabtis
				+ ", typeAliasStringInMybatis=" + typeAliasStringInMybatis + "]";
	}

	public String getClassName() {
		return className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	
	
}
